package cn.yzfy.common.util;

import java.util.List;

/**
 * @author 一朝风月
 * @date 2025/9/11 13:48
 * @Code 面向注解面向卿，终无解释再无你
 * @description 树节点接口
 */

public interface ITreeNode<Id> {

    /**
     * 获取节点Id
     *
     * @return 节点Id
     */
    Id getId();

    /**
     * 设置节点id
     *
     * @param id id
     */
    void setId(Id id);

    /**
     * 获取节点父Id
     *
     * @return 父节点Id
     */
    Id getParentId();

    /**
     * 设置父节点Id
     *
     * @param parentId 父节点Id
     */
    void setParentId(Id parentId);

    /**
     * 获取子节点
     *
     * @return 子节点集合
     */
    List<ITreeNode<Id>> getChildren();

    /**
     * 设置字节点
     *
     * @param children 子节点集合
     */
    void setChildren(List<ITreeNode<Id>> children);
}